package com.xiyin.demo.db2数据库自定义函数调用;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.CallableStatement;

public class AddTwoNumbersExample {

    public static void main(String[] args) {
        try {
            // 加载 DB2 JDBC 驱动
            Class.forName("com.ibm.db2.jcc.DB2Driver");

            // 连接到 DB2 数据库
            Connection conn = DriverManager.getConnection("jdbc:db2://192.168.70.130:50000/hello:currentSchema=XU_DMP;", "db2inst1", "db2inst1-pwd");

            // 准备调用自定义函数
            CallableStatement cstmt = conn.prepareCall("{ ? = call XU_DMP.ADDTWONUMBERS(?, ?) }");

            // 设置输入参数
            cstmt.setInt(2, 10);
            cstmt.setInt(3, 20);

            // 注册输出参数
            cstmt.registerOutParameter(1, java.sql.Types.INTEGER);


            // 执行函数调用
            cstmt.execute();

            // 获取结果
            int result = cstmt.getInt(1);

            // 输出结果
            System.out.println("Result: " + result);

            // 关闭资源
            cstmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
